package com.sg.service.biz.component;

import com.sg.dto.biz.component.req.*;
import com.sg.dto.biz.component.res.*;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface ResourceFileService {
    /**
     * D2删除REDIS物理文件记录(redis)(公共)
     */
    DeletePhyFileRedisRecordComRespDto deletePhyFileRedisRecordCom(DeletePhyFileRedisRecordComReqDto deletePhyFileRedisRecordComRep);

    /**
     * D2新增物理文件路径记录到缓存(redis)(公共)
     */
    AddPhyFileToRedisComRespDto addPhyFileToRedisCom(AddPhyFileToRedisComReqDto addPhyFileToRedisComRep);

    /**
     * D2循环生成资源文件相对路径并缓存相对路径(公共)
     */
    LoopSetResourceFileComRespDto loopSetResourceFileCom(LoopSetResourceFileComReqDto loopSetResourceFileComRep);

    /**
     * D2执行资源文件上传第三方系统(公共)
     */
    ImplementResourceFileTransSystemComRespDto implementResourceFileTransSystemCom(ImplementResourceFileTransSystemComReqDto implementResourceFileTransSystemComRep);

    /**
     * D2执行资源文件上链(公共)
     */
    ImplementEviFileChainComRespDto implementEviFileChainCom(ImplementEviFileChainComReqDto implementEviFileChainComRep);

    /**
     * D2生成上链签名(公共)
     */
    ObtainChainTokenComRespDto obtainChainTokenCom(ObtainChainTokenComReqDto obtainChainTokenComRep);

    /**
     * D2执行资源文件上区块链(公共)
     */
    ImplementEviFilesChainComRespDto implementEviFilesChainCom(ImplementEviFilesChainComReqDto implementEviFilesChainComRep);

    /**
     * D2生成资源文件问答内容(公共)
     */
    GenerateResourceFileQuestionContentComRespDto generateResourceFileQuestionContentCom(GenerateResourceFileQuestionContentComReqDto generateResourceFileQuestionContentComRep);

    /**
     * D2加载资源文件到内存(公共)
     */
    DownLoadResourceFileComRespDto downLoadResourceFileCom(DownLoadResourceFileComReqDto downLoadResourceFileComRep);

    /**
     * D2组装资源文件提问列表
     */
    AssembleFileQListComRespDto assembleFileQListCom(AssembleFileQListComReqDto assembleFileQListComRep);

    /**
     * D2获取阿里云文件(公共)
     */
    LoadAliYunFileComRespDto loadAliYunFileCom(LoadAliYunFileComReqDto loadAliYunFileComRep);

    /**
     * D2获取minio文件(公共)
     */
    LoadMinioFileComRespDto loadMinioFileCom(LoadMinioFileComReqDto loadMinioFileComRep);

    /**
     * D2获取本地文件(公共)
     */
    LoadLocalFileComRespDto loadLocalFileCom(LoadLocalFileComReqDto loadLocalFileComRep);
    //
}
